home *** CD-ROM | disk | FTP | other *** search
- ******************************
- MIDICAT v1.0
-
- concatenate midi binaries to play sequentially
- by Guenter Nagler
- 1996
- (gnagler@ihm.tu-graz.ac.at)
- ******************************
-
- [0] FEATURES
- + reads binary midi files
- + writes a binary midi file
- + converts midi time unit resolution to a common multiplier resolution
- + initializes tempo, tact, programs, volumes, chorus, reverb effects,
- balance
- + adds a text marker in front beginning of a song
- + removes large pause from end of song
- + inserts 4/4 pauses between the songs
- + requires format 0 midi files because when combining format 1 files
- the number of tracks will grow quickly and many players have a track
- limitation (e.g. 16 tracks)
- + combine 2 up to 50 songs
-
- [1] BACKGROUND
- I am using a Korg i3 music workstation and sometimes I sequence midi songs.
- Once I sequenced a series of short xmas melodies and had the trouble to
- put the songs together to one xmas medley.
- This time I did it manually and it took much time to concatenate the songs.
- This brought me to the thought to write a simple midi utility that does
- such jobs without much effort.
-
- [2] FILES DESCRIPTION
-
- MIDICAT.EXE.........concatenate program for dos machines
- MIDICAT.DOC.........this file, showing usage of MIDICAT.EXE
- MIDIIO.HPP..........header file for a c++ midi parser
- MIDIIO.CPP..........source code for a c++ midi parser
- MIDICAT.CPP.........c++ source code for modifying midi files
- MIDICAT.MAK.........make file for project
- MIDICAT.CFG.........compiler options for make
- MIDICAT.PRJ.........compiler project for Borland (tm) c++ compilers
- only MIDICAT.EXE is required to run program
-
- [3] COPYRIGHT
-
- MIDICAT (c) 1996 was created by Guenter Nagler.
-
- MIDICAT is free and may be used as you wish with this one exception:
-
- You may NOT charge any fee or derive any profit for distribution
- of MIDICAT. Thus, you may NOT sell or bundle MIDICAT with any
- product in a retail environment (shareware disk distribution, CD-ROM,
- etc.) without permission of the author.
-
- You may give MIDICAT to your friends, upload it to a BBS, or ftp it to
- another internet site, as long as you don't charge anything for it.
-
- [4] DISCLAIMER
-
- MIDICAT was designed to handle 100% compatible midi files.
- The midi parser was tested with 1500 different midi files but I can
- not say if each 100% midi compatible midi file can be correctly converted.
- So I give no guarantees of the results, especially with non 100%
- compatible midi files.
- If you find a midi file that you think to be 100% compatible midi
- that is not correctly converted, please send a sample file to
- gnagler@ihm.tu-graz.ac.at .
-
- Use MIDICAT at your own risk. Anything you do with MIDICAT is your
- responsibility, and not the author's. Any damage caused to any person,
- computer, software, hardware, company, or business by running MIDICAT
- is your responsibility, and the author will not be liable.
-
- If you don't understand these terms, or are not sure of something, or
- are afraid something bad might come of using MIDICAT, don't use it!
- You are here forewarned.
-
- [5] INSTALLATION
-
- [MSDOS]
- Simply copy MIDICAT.EXE in a directory that is in your path.
- When you start the program without arguments
-
- [UNIX]
- compile sources with your C++ compiler (e.g. GNU Compiler g++):
-
- g++ -o midicat midicat.cpp midiio.cpp
-
- and run program
-
- $ midicat
-
- C:\> MIDICAT
-
- you should get the usage text (see next section)
-
- [6] USAGE
-
- MidiCat concatenates midi format 0 files to play sequentially
- usage: MidiCat file1.mid file2.mid ... result.mid
-
- file1.mid ... are a list of input midi files.
- The output will be written to result.mid if the file is not existent.
-
- Note:
- MidiCat only accepts midi format 0 files as input.
- Convert other midi formats (1, 2) to format 0 using converters like
- midi1to0, midi2to0 !
- The resulting midi file will also be in format 0.
-
- [8] SUGGESTIONS / COMMENTS / BUG REPORTS / QUESTIONS
-
- WWW: http://hgiicm.tu-graz.ac.at/Cpub
- contains all my dos/unix midi programs
- EMAIL: gnagler@ihm.tu-graz.ac.at
-
- [9] USE
-
- example: trying to use format 1 midi as input
-
- C> midicat songfmt1.mid midif0.mid medley.mid
-
- songfmt1.mid: format 1, 12 tracks, resolution 120
- songfmt1.mid is format 1 midi!
- Convert it to format 0 using midi1to0
-
- C> midi1to0 songfmt1.mid songfmt0.mid
-
- and retry
- C> midicat songfmt0.mid midif0.mid medley.mid
- songfmt0.mid: format 0, 1 tracks, resolution 120
- midif0.mid: format 0, 1 tracks, resolution 240
- output written to medley.mid:
- medley.mid: format 0, 1 tracks, resolution 240
-
- example: midicat does not allow to overwrite existing files
- C> midicat songfmt0.mid midif0.mid existing.mid
- output file existing.mid already existing. aborting ...
-
- C> del existing.mid
- Deleting existing.mid.
- 1 file(s) deleted.
- and retry again.
-
- Information: Midicat also denies to write output to one of the input files
- and will not write to directories without write permission.
-
-
-
-